#pragma once

#pragma pack(push, 1)

struct	ship_weapon_t
{
	ui16	weapon_type;
	ui8		initial_quantity;
	ui8		quantity;
	ui8		firing_arc;
	ui16	weapon_mods;
	ui8		ammo_remaining;
};

struct	ship_t
{
	char			name[16];
	ui8				ship_type_class;
	ui8				ship_type;
	ui8				shield_type;
	ui8				drive_type;
	ui8				field_14;
	ui8				computer_type;
	ui8				armor_type;
	ui8				specials[5];
	ship_weapon_t	weapons[8];
	ui8				ship_shape;
	ui8				builder;
	ui16			cost_to_build;
	ui8				combat_speed;
	ui16			build_stardate;
	i8				current_owner;
	ui8				state_of_ship;
	ui16			destination_star;
	ui16			map_x;
	ui16			map_y;
	ui8				navigator_in_fleet_group_flag;
	ui8				group_travelling_speed;
	ui8				ETA_for_group;
	ui8				shield_damage;
	ui8				engine_damage;
	ui8				computer_damage;
	ui8				crew_quality;
	ui16			crew_experience;
	ui16			ship_officer;
	ui8				damage_flags[5];
	ui16			armor_damage;
	ui16			structural_damage;
	ui8				ai_mission;
	ui8				just_built_flag;
};

#pragma	pack(pop)
